package io.renren.modules.erp.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.renren.modules.erp.entity.AccountHeadVo4ListEx;
import io.renren.modules.erp.entity.AccountItem;
import io.renren.modules.erp.entity.DepotHeadVo;
import io.renren.modules.erp.entity.DepotItemVo4WithInfoEx;
import io.renren.modules.erp.vo.AccountItemVo4List;
import io.renren.modules.erp.vo.DepotHeadVo4List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
@Mapper
public interface AccountItemMapperEx {

    List<AccountItem> selectByConditionAccountItem(
            @Param("name") String name,
            @Param("type") Integer type,
            @Param("remark") String remark,
            Page<AccountItem> page);

    Long countsByAccountItem(
            @Param("name") String name,
            @Param("type") Integer type,
            @Param("remark") String remark);

    List<AccountItemVo4List> getDetailList(
            @Param("headerId") Long headerId);

    List<DepotHeadVo> getDetailList2(
            @Param("headerId") Long headerId);

    List<AccountHeadVo4ListEx> getDetailList3(
            @Param("headerId") Long headerId);

    int batchDeleteAccountItemByIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String[] ids);

    List<AccountItem> getAccountItemListByAccountIds(@Param("accountIds") String[] accountIds);

    List<AccountItem> getAccountItemListByHeaderIds(@Param("headerIds") String[] headerIds);

    List<AccountItem> getAccountItemListByInOutItemIds(@Param("inOutItemIds") String[] inOutItemIds);

    int batchDeleteAccountItemByHeadIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String[] ids);



}